문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 Xbox Series X (문단 편집) ==== 입출력 ==== NVMe SSD, DirectStorage 파일 입출력 프로토콜, 하드웨어 압축 블록, 샘플러 피드백 스트리밍 4가지를 묶어 Xbox Velocity Architecture(엑스박스 벨로시티 아키텍처)라는 명칭으로 부른다. SSD는 8채널로 연결되어 있으며, 2개의 PCI-E gen 4 레인은 내부 저장소, 2개는 외부 확장 저장소, 나머지 4개는 USB 포트와 같은 다른 통신에 레인이 배정되어있다. SSD 컨트롤러로 파이슨 E19 컨트롤러를 사용하며, 내부 저장소는 M.2 Nvme 규격의 [[웨스턴 디지털]] 칩을 탑재하였으며, 외부 저장소는 [[SK하이닉스]] 메모리를 탑재한 CFexpress 규격 [[시게이트]] 제작 확장 카드를 사용한다. [[http://www.redgamingtech.com/xbox-series-x-hot-chips-analysis-part-2-ssd-memory-audio-more/|#]] * '''개조 SSD''' DirectStorage API를 활용할 수 있게 해 [[SSD]]의 레이턴시를 직접 줄일 수 있도록 만들었으며, 또한 어떤 상황에서든 일관된 SSD 성능을 보장하기 위해 특수한 펌웨어를 SSD에 함께 접목시켰다. 발열로 인한 성능저하를 막고 언제나 일관된 SSD 성능을 유지시키기 위한 방법으로 2가지 대책이 함께 언급되었다. 뛰어난 쿨링 대책을 마련해 SSD가 열로 인한 하드웨어적 부담을 지지 않게 하였고, PC에서 사용하는 것과 다른 개조 [[펌웨어]]를 적용해, 드라이브 유지보수 또는 발열로 인한 일시적 성능 감소가 발생하지 않도록 문제를 차단하였다. [[https://www.youtube.com/watch?v=bTwVNciHu-U|#]] * '''DirectStorage 차세대 파일 입출력 프로토콜''' [[SSD]]는 [[HDD]]와 작동방식이 달라 효과적으로 사용하기 위해서는 반드시 데이터의 입출력을 효율적으로 다룰 진보한 압축기술을 사용해야 한다. 압축과정은 시스템 자원을 크게 소모하는 부담이 큰 작업이다. Zen 2 급 사양의 프로세서가 게임파일의 압축풀기 작업을 처리하게 되면 작업과정 내내 3개의 코어가 풀로드에 걸릴 수 밖에 없는데, 이는 가능한한 CPU의 성능을 게임에 짜내야하는 시스템에 있어 큰 자원 손실이 된다. 또한 3개 이상의 CPU 코어가 SSD 성능의 최대치를 끌어낼 수 있도록, 압축 하고풀기의 작업량을 높이게 된다면 오버헤드가 누적 돼 무려 5개 코어가 부하에 걸리는 일이 발생할 수 있다. 개발진들은 초기에 5개의 코어를 더 추가시켜 압축작업을 처리할까 생각해 봤지만, 접근법을 달리해 이러한 문제를 차세대 파일 입출력 프로토콜의 개발로 대처하기로 결정했다. 차세대 파일 입출력 프로토콜은 압축풀기(디컴프레션) 과정의 오버헤드 부담을 극도로 줄여 무려 싱글코어의 10% 시스템 자원 부담으로 오버헤드 문제를 해결할 수 있게 하였다. 압축풀기가 CPU 벤치마킹으로도 자주 쓰일만큼, CPU에 가하는 부담이 컸던 것을 생각하면 이런 괄목할만한 성과는 DirectStorage가 굉장히 놀랄만한 기술이란 점을 보여준다. 이러한 신기술을 개발한 이유는, 기존 Windows가 사용하던 입출력 프로토콜이 무려 30년 동안 사용하던 구식 기술이라 이를 대체할 필요가 있었기 때문이다. 이 구식 기술을 대체하고자, Xbox Series X에 투입할 용도로 먼저 신형 프로그래밍 인터페이스를 제작해놓고 Xbox Series X에서 검증을 끝마치면, 추후 [[Windows 10]]에 DirectStorage를 공식 적용하겠다는 계획을 밝혔다. 개발자들은 DX12U의 일부인 DirectStorage API를 통해 로우 레벨 수준에서 NVme SSD 컨트롤러에 직접 접근할 수 있다. 또한 개발자가 입출력 대기열의 우선순위를 직접 지정할 수 있게 해준다. * '''샘플러 피드백 스트리밍''' ||'''램 사용량 감소 효과 시연'''|| ||{{{#!folding [ 펼치기 · 접기 ] [[파일:SFS_RAM.gif|width=100%]] 우측 상단의 빨강 그래프는 샘플러 피드백 스트리밍이 없는 상태에서의 램 사용량이며, 아래의 초록 그래프는 샘플러 피드백 스트리밍이 있는 상태에서의 RAM 사용량이다. 진한 색으로 칠해진 부분은 '최근에 사용했지만 더는 사용할 필요가 없어져 램에서 비워야 하는 부분'이고, 연하게 칠해진 부분은 '현재 사용 중이거나 매우 최근에 사용한 램 데이터들이 차지하는 활성화된 RAM 부분'이다. 전체적으로 보면 RAM 사용량이 2분의 1에 불과하며, 활성화된 부분이 차지하는 용량은 2분의 1에서 최대 4분의 1에 달할 정도로 RAM 사용량이 큰 폭으로 줄어든 모습을 보인다. }}}|| ||'''샘플러 피드백 스트리밍 작동 원리'''|| ||{{{#!folding [ 펼치기 · 접기 ] [[파일:SFS_LOD.gif|width=100%]] 일반적인 컴퓨팅 환경에서는 영상 속 지구본을 렌더링 할 때 반드시 모든 텍스쳐를 불러와 사용해야만 한다. 하지만 샘플러 피드백 스트리밍이 있으면, 시선에 보이는 부분의 텍스처만 불러와 사용할 수 있다. 좌측의 제일 큰 사각형은 LOD 0레벨 텍스처칸으로, 반드시 가장 세밀하게 표현되어야 할 LOD 0레벨 텍스처들이 나타나있다. 이 텍스처들은 세밀하게 표현되어야 하기 때문에, 입출력 및 프로세싱 자원에 가하는 부담이 제일 크다. 그 아래 4분의 1 크기를 가지고 있는 칸은 LOD 1레벨 텍스처칸으로 LOD 0레벨 보다는 덜 세밀하게 표현되어지는 텍스처들이 나타나 있다. LOD 4레벨 부터선 모든 텍스처를 불러와 사용하고 있지만, LOD 0 ~ LOD 3레벨의 텍스처는 전부 불러오지 않고, 보이는 부분만 필요할 때 불러와 사용하고 있다. LOD 3은 거의 모든 텍스처를 불러온데 반하여, LOD 0 텍스처는 거의 절반 가까이 텍스처를 미리 불러오지 않은 상태에서 필요한 부분만 상황에 맞게 불러들이고 있다. }}}|| 샘플러 피드백 스트리밍은 GPU에 포함된 하드웨어 부속품으로, 사용하지 않는 텍스처가 입출력 자원을 낭비하고 램 용량을 잠식하는 것을 막는 기능을 담당한다. RAM에 로드한 텍스처 데이터 과반수 이상을 GPU가 사용조차도 하지 않는 낭비 현상이 빈번하기에, 샘플러 피드백 스트리밍은 적시에 필요한 MIP 레벨의 텍스처만 가져오도록 데이터를 필터링해 이러한 낭비 문제를 해결한다. 샘플러 피드백 스트리밍은 텍스처들을 부분별로 쪼개 각각 LOD 레벨을 매기고 그 등장비율들을 모두 기록해 놓는다. 그리고 사용하지 않는 부분의 텍스처는 이후 메모리에서 방출시켜버린다. 또한 텍스처를 타일로 분할한 다음 필요에 따라 타일의 일부를 스트리밍으로 불러온다. 예시를 들자면 플레이어의 시선에 가까운 곳에 위치한 사물은 고해상도로 렌더링 해야 하는데, 만약 거리가 떨어져 있으면 저해상도 MIP만을 불러와 사용할 수 있다. 하지만 기존의 하드웨어 방식으로는 무조건 최고 레벨의 MIP MAP을 전부 RAM에 불러와 사용해야만 해서 이런 낭비문제가 터져나왔으나, SFS의 지원을 받으면 GPU가 필요로 할 때만 높은 레벨의 MIP을 불러와 사용할 수 있게 된다. 사물의 거리만이 아니라, 다른 장애물에 가려진 사물이나 혹은 보는 각도에 따라 보이지 않는 사물도 샘플러 피드백 스트리밍의 처리 대상이 된다. 샘플러 피드백 스트리밍은 원시 하드웨어 성능 그 이상의 처리속도를 달성토록 만들어준다. 게임에 따라 차이가 있으나 평균적으로 SSD의 출력 속도와 가용 RAM 용량을 2.5배 향상시켜준다고 밝혔다.[* XSX SSD의 원시 데이터 출력속도가 초당 2.4GB인데 SFS의 지원을 받으면 데이터 출력속도가 평균 초당 6GB까지 늘어날 수 있단 소리이다. 관념을 벗어난 굉장한 [[오버 테크놀로지]]스러운 기술이라 쉽게 납득하기 힘들지만 작동 결과물을 보니 [[오버 테크놀로지]]가 맞았다. 단순히 RAM에 로드해야 할 데이터의 용량을 기존 대비 40%선으로 줄여, 동일한 시간에 SSD가 처리할 수 있는 데이터의 양이 2.5배가 되었다는 산술적 접근 말고는 확인이 어렵다. 다만 이후 공개된 작동방식을 보면 단번에 성능을 향상시키지는 않는걸로 보인다. 처음에는 게임에 표시되지 않은 밉맵을 추적하는 과정이 필요하며, 사용하지 않는 것들은 SFS의 마킹 작업을 거쳐 메모리에서 제거된다. 즉 한번에 최적화가 이루어지지 않는데다가, 동적인 이미지에서는 뛰어난 효율이 나오지는 않는 모양이라 처음에는 1배 SSD/RAM 효율로 시작해, 프레임이 계속 렌더링 되어가면서 2.5배 효율에 가까워져 가는것으로 보인다.] [[https://www.eurogamer.net/articles/digitalfoundry-2020-inside-xbox-series-x-full-specs|#]][[https://news.xbox.com/en-us/2020/07/14/a-closer-look-at-xbox-velocity-architecture/|#]] * '''하드웨어 압축 블록''' 하드웨어 압축 블록 하드웨어에 관한 정보는 CPU 항목의 관련 내용 참조. Xbox Series X가 사용하는 압축 규격은 3가지 종류로 범용 압축에는 Zlib이나 Deflate를 사용하며, 텍스처 압축에는 텍스처 압축에 특화된 무손실 BCPack 포맷을 사용한다. 사운드는 [[Opus(오디오 코덱)|Opus]]를 사용한다. BCPack을 사용시 텍스처 압축률은 보통 2:1 정도이며, 전체 파일 용량이 원본의 50%에 가까이 줄어드는 것은 SSD 속도가 2배로 늘어난다는 것과 같은 결과를 의미한다. 만약 손실 압축을 사용해 압축률을 늘리면 SSD의 속도를 확실한 2배나 그 이상으로 끌어올릴 수 있다. * '''SSD 캐시 영역''' 압축이 풀린 게임 데이터들을 일시적으로 보관하고 우선적으로 해당 영역에서 파일을 스캔하는 등 마치 캐시 저장공간처럼 쓰이는 SSD의 특수 할당 영역으로 100GB가 배정됨. * '''삽입형 저장공간 확장 카드''' [[시게이트]]에서 제작한 Xbox Series X 전용 저장공간 확장 카드를 구매해, 기기 후면의 슬롯에 꽂아 넣기만 하면 손쉽게 저장공간 확장이 가능하다. 시게이트는 출시일 독점 공급 파트너로, 향후 시게이트가 아닌 회사가 삽입형 저장공간 확장 카드를 생산하거나 혹은 다른 회사가 확장 카드 공급에 공동으로 참여할 가능성이 있다.[[https://www.theverge.com/2020/3/16/21181854/microsoft-xbox-series-x-expansion-cards-removable-storage-support-features|#]] 저장공간 확장 카드는 다른 기기에도 삽입해 사용할 수 있다. 단 게임을 실행하기 위해서는, 게임 소유권 인증을 위한 디스크 혹은 엑스박스 라이브 계정이 필요하다. 카드를 다른 본체에 삽입한 뒤, Xbox Live 계정에 로그인 하면 확장 카드에 설치되어 있는 DL 기반 게임을 실행할 수 있다. DL 기반 게임이 아닌 디스크 기반 게임은, 인증을 위한 게임 디스크를 준비해 다른 본체에 넣어야 실행된다.[[https://www.seagate.com/consumer/play/storage-expansion-for-xbox-series-x/faq/?utm_source=newsletter&utm_medium=email&utm_campaign=gaming-2020-xbox-series-x&utm_content=expansion-card-nurture-awareness-september|#]] 사용자는 USB 3.1+로 연결하는 외장 하드드라이브 저장공간 이용이 가능하며 모든 게임을 외장 드라이브에 저장하는건 가능하되, 외장 저장소에서 게임을 직접 실행하는건 하위호환 게임에서만 가능하다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기